package com.sojson.entity.po;

import java.util.Date;
import java.util.List;

import com.sojson.base.impl.BaseDto;
import com.sojson.util.DateUtil;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 券可用模块Bean
 * 
 * @author liu
 * @date 2021-06-02
 */
@ApiModel("券可用模块Bean")
public class CouponModule extends BaseDto {

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    private static final long serialVersionUID = 1622615936106L;

    @ApiModelProperty("券编号")
    private String couponNo;
    @ApiModelProperty("模块编号")
    private String moduleNo;
    @ApiModelProperty("创建时间")
    private Date createdAt;
    @ApiModelProperty("更新时间")
    private Date updatedAt;
    @ApiModelProperty("ID集合")
    private List<Integer> ids;
    @ApiModelProperty("模块编号集合")
    private List<String> moduleNos;
    /** 券可用模块集合 */
    private List<CouponModule> couponModules;

    /**
     * 以上由工具自动生成，以下为手动添加
     */

       /**
        * Empty constructor
        */
    public CouponModule() {

    }

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    /**
     * 获取 券编号
     */
    public String getCouponNo() {
        return couponNo;
    }

    /**
     * 设置 券编号
     */
    public void setCouponNo(String couponNo) {
        this.couponNo = couponNo;
    }

    /**
     * 获取 模块编号
     */
    public String getModuleNo() {
        return moduleNo;
    }

    /**
     * 设置 模块编号
     */
    public void setModuleNo(String moduleNo) {
        this.moduleNo = moduleNo;
    }

    /**
     * 获取 创建时间
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置 创建时间
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 获取 更新时间
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 设置 更新时间
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    /**
     * 获取 ID集合
     */
    public List<Integer> getIds() {
        return ids;
    }

    /**
     * 设置 ID集合
     */
    public void setIds(List<Integer> ids) {
        this.ids = ids;
    }

    /**
     * 获取模块编号集合
     */
    public List<String> getModuleNos() {
        return moduleNos;
    }

    /**
     * 设置模块编号集合
     */
    public void setModuleNos(List<String> moduleNos) {
        this.moduleNos = moduleNos;
    }

    /**
     * 获取 券可用模块集合
     */
    public List<CouponModule> getCouponModules() {
        return couponModules;
    }

    /**
     * 设置 券可用模块集合
     */
    public void setCouponModules(List<CouponModule> couponModules) {
        this.couponModules = couponModules;
    }

    /**
     * 以上由工具自动生成，以下为手动添加
     */

    /**
     * 插入初始化
     */
    public void insertInit() {
        Date nowDate = DateUtil.nowDate();
        setCreatedAt(nowDate);
        setUpdatedAt(nowDate);
    }

    /**
     * 插入初始化
     */
    public void insertInit(Coupon coupon) {
        setModuleNos(coupon.getModuleNos());
        setCouponNo(coupon.getNo());
        setCreatedAt(coupon.getCreatedAt());
        setUpdatedAt(coupon.getUpdatedAt());
    }

    /**
     * 更新初始化
     */
    public void updateInit() {
        Date now = DateUtil.nowDate();
        setUpdatedAt(now);
    }

    /**
     * 更新初始化
     */
    public void setUpdateNull() {
        setCouponNo(null);
    }

}